package cn.abcsys.cloud.devops.runtime.controller;

import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import cn.abcsys.cloud.devops.runtime.bean.GridBean;
import cn.abcsys.cloud.devops.runtime.bean.Result;
import cn.abcsys.cloud.devops.runtime.common.Status;
import cn.abcsys.cloud.devops.runtime.entity.ClusterEnv;
import cn.abcsys.cloud.devops.runtime.entity.Env;
import cn.abcsys.cloud.devops.runtime.model.EnvModel;
import cn.abcsys.cloud.devops.runtime.service.ClusterEnvService;
import cn.abcsys.cloud.devops.runtime.service.EnvService;
import net.sf.json.JSONObject;


/**
 * 环境管理控制器
 * @author mayunhao
 *
 */
@RestController
@RequestMapping("/env")
public class EnvController {
//	private static final Logger LOGGER = Logger.getLogger(EnvController.class);
//	@Autowired
//	private EnvService envService;
//	@Autowired
//	private ClusterEnvService clusterEnvService;
//	@RequestMapping(value = "/list", method = { RequestMethod.GET })
//	@ResponseBody
//	public GridBean envList(@RequestParam Map<String,Object> params){
//		if(params.isEmpty()){
//			LOGGER.error("请求参数为空");
//			return null;
//		}else{
//			EnvModel envModel = new EnvModel();
//			try{
//				JSONObject orig = JSONObject.fromObject(params);
//				envModel = (EnvModel)JSONObject.toBean(orig,EnvModel.class);
//			}catch(Exception e){
//				LOGGER.error("请求参数转换错误："+e.getMessage());
//				return null;
//			}
//			return envService.getEnvList(envModel);
//		}
//	}
//	@RequestMapping(value = "/detail", method = { RequestMethod.GET })
//	@ResponseBody
//	public Result getDetail(@RequestParam(value = "envId", required = true)Integer envId){
//		return envService.getEnvDetail(envId);
//	}
//	@RequestMapping(value = "/create", method = { RequestMethod.GET })
//	@ResponseBody
//	public Result create(@RequestParam Map<String,Object> params){
//		if(params.isEmpty()){
//			LOGGER.error("请求参数为空");
//			return new Result(false, "请求参数为空");
//		}else{
//			Env env = new Env();
//			try{
//				JSONObject orig = JSONObject.fromObject(params);
//				env = (Env)JSONObject.toBean(orig,Env.class);
//			}catch(Exception e){
//				LOGGER.error("请求参数转换错误："+e.getMessage());
//				return new Result(false, "请求参数转换错误："+e.getMessage());
//			}
//			Result result = envService.createEnv(env);
//			if(result.isSuccess()){
//				Integer clusterId = Integer.valueOf(params.get("clusterId").toString());
//				Integer envId = Integer.valueOf(result.getData().toString());
//				ClusterEnv clusterEnv = new ClusterEnv(clusterId, envId, (byte)Status.COMMON.NORMAL.ordinal());
//				result = clusterEnvService.createCLusterEnv(clusterEnv);
//			}
//			return result;
//		}
//	}
//	@RequestMapping(value = "/modify", method = { RequestMethod.GET })
//	@ResponseBody
//	public Result modify(@RequestParam Map<String,Object> params){
//		if(params.isEmpty()){
//			LOGGER.error("请求参数为空");
//			return new Result(false, "请求参数为空");
//		}else{
//			Env env = new Env();
//			try{
//				JSONObject orig = JSONObject.fromObject(params);
//				env = (Env)JSONObject.toBean(orig,Env.class);
//			}catch(Exception e){
//				LOGGER.error("请求参数转换错误："+e.getMessage());
//				return new Result(false, "请求参数转换错误："+e.getMessage());
//			}
//			return envService.updateEnv(env);
//		}
//	}
//	@RequestMapping(value = "/remove", method = { RequestMethod.GET })
//	@ResponseBody
//	public Result remove(@RequestParam(value = "envIds", required = true)String envIds){
//		return envService.deleteEnv(envIds);
//	}
//	/**
//	 * 
//	* @Title: envGlobalInfo 
//	* @Description: 获取当前环境的集群、仓库、环境信息 
//	* @param @param envId
//	* @param @return    设定文件 
//	* @return Result    返回类型 
//	* @throws
//	 */
//	@RequestMapping(value = "/envGlobalInfo", method = { RequestMethod.GET })
//	@ResponseBody
//	public Result envGlobalInfo(@RequestParam(value = "envId", required = true)Integer envId){
//		return envService.envGlobalInfo(envId);
//	}
}
